#include "mainwindow.h"
#include "ui_mainwindow.h"


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void MainWindow::on_myButton_extractFrame_clicked()         {    emit extractOneFrame_SIGNAL();    }


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void MainWindow::on_myCheckBox_RenderMesh_clicked()                 {    changedRenderCheckData();   }
void MainWindow::on_myCheckBox_RenderSkeleton_clicked()             {    changedRenderCheckData();   }
void MainWindow::on_myCheck_LocalCoord_clicked()                    {    changedRenderCheckData();   }
void MainWindow::on_myCheck_RenderLeftRight_BoneLCS_clicked()       {    changedRenderCheckData();   }
void MainWindow::on_myCheck_FingertipVertices_Centroid_clicked()    {    changedRenderCheckData();   }
void MainWindow::on_myCheck_FingertipVertices_clicked()             {    changedRenderCheckData();   ui->myCheck_FingertipVertices_Centroid->setEnabled( ui->myCheck_FingertipVertices->isChecked() );   }
void MainWindow::on_myCheck_FingertipDetections_clicked()           {    changedRenderCheckData();   if (ui->myCheck_FingertipDetections->isChecked())   myTracker->FEAT_Skinnnnn.fingerTips.READ_and_FILTER_detections_ALL_cameras( myTracker->sequence.cameraSet.totalCameras,
                                                                                                                                                                                                                                             myTracker->starting_FrameTracker_INI,
                                                                                                                                                                                                                                             3.0 );   }
void MainWindow::on_myCheckBox_PCL_clicked()                        {    changedRenderCheckData();   if (ui->myCheckBox_PCL->isChecked())         {   myTracker->currentFrameNumberSET( myTracker->starting_FrameTracker_INI, true, true  );   myTracker->BackProject_Depth_2_PCL();   }   }
void MainWindow::on_myCheckBox_MESH_FILL_clicked()                  {    changedRenderCheckData();   if (ui->myCheckBox_MESH_FILL->isChecked())   {   ui->mySlider_transpMesh->setValue( 100 );   ui->mySlider_transpSkeleton->setValue( 100 );   }
                                                                                                     else                                         {   ui->mySlider_transpMesh->setValue(  40 );   ui->mySlider_transpSkeleton->setValue(  65 );   }
                                                                    }


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void MainWindow::on_myButtonColor_Left_clicked()        {     ui->myButtonColor_Left-> setStyleSheet( _myColorPicker(true) );         _myColorIndex[3]  = colorID;         ui->myOpenGLWidget->passColorIndexes(_myColorIndex);     }
void MainWindow::on_myButtonColor_Right_clicked()       {     ui->myButtonColor_Right->setStyleSheet( _myColorPicker(true) );         _myColorIndex[4]  = colorID;         ui->myOpenGLWidget->passColorIndexes(_myColorIndex);     }
void MainWindow::on_myButtonColor__Hand_clicked()       {     ui->myButtonColor__Hand->setStyleSheet( _myColorPicker(true) );         _myColorIndex[6]  = colorID;         ui->myOpenGLWidget->passColorIndexes(_myColorIndex);     }
void MainWindow::on_myButtonColor__0_clicked()          {     ui->myButtonColor__0->   setStyleSheet( _myColorPicker(true) );         _myColorIndex[8]  = colorID;         ui->myOpenGLWidget->passColorIndexes(_myColorIndex);     }
void MainWindow::on_myButtonColor__1_clicked()          {     ui->myButtonColor__1->   setStyleSheet( _myColorPicker(true) );         _myColorIndex[9]  = colorID;         ui->myOpenGLWidget->passColorIndexes(_myColorIndex);     }
void MainWindow::on_myButtonColor__2_clicked()          {     ui->myButtonColor__2->   setStyleSheet( _myColorPicker(true) );         _myColorIndex[10] = colorID;         ui->myOpenGLWidget->passColorIndexes(_myColorIndex);     }   // an prostheseis ki alla allakse to Size tou myColorIndex !!!!!!
void MainWindow::on_myButtonColor_Mesh1_clicked()       {     ui->myButtonColor_Mesh1->setStyleSheet( _myColorPicker(true) );         _myColorIndex[0]  = colorID;         ui->myOpenGLWidget->passColorIndexes(_myColorIndex);     }
void MainWindow::on_myButtonColor_Mesh2_clicked()       {     ui->myButtonColor_Mesh2->setStyleSheet( _myColorPicker(true) );         _myColorIndex[13] = colorID;         ui->myOpenGLWidget->passColorIndexes(_myColorIndex);     }
void MainWindow::on_myButtonColor_Mesh3_clicked()       {     ui->myButtonColor_Mesh3->setStyleSheet( _myColorPicker(true) );         _myColorIndex[14] = colorID;         ui->myOpenGLWidget->passColorIndexes(_myColorIndex);     }


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void MainWindow::on_myRadioButton_Points_clicked()               {   changedRadiosForSkeleton();    }
void MainWindow::on_myRadioButton_Lines_clicked()                {   changedRadiosForSkeleton();    }
void MainWindow::on_myRadioButton_Both_Points_Lines_clicked()    {   changedRadiosForSkeleton();    }

void MainWindow::changedRadiosForSkeleton()
{
        if      ( ui->myRadioButton_Points            ->isChecked() == true )    mySkeletonType = "Points";
        else if ( ui->myRadioButton_Lines             ->isChecked() == true )    mySkeletonType = "Lines";
        else if ( ui->myRadioButton_Both_Points_Lines ->isChecked() == true )    mySkeletonType = "Both_Points_Lines";

        ui->myOpenGLWidget->passSkeletonType(mySkeletonType);
}


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void MainWindow::on_mySlider_transpMesh_valueChanged(int value)             {       myAlphaVaules[0] = qPow( (double)value/100, 3 );       ui->myLabel_transMesh->setText(          QString::number(   myAlphaVaules[0],10,3   ) );       ui->myOpenGLWidget->passAlphaData( myAlphaVaules );      }
void MainWindow::on_mySlider_transpSkeleton_valueChanged(int value)         {       myAlphaVaules[1] = qPow( (double)value/100, 3 );       ui->myLabel_transSkeleton->setText(      QString::number(   myAlphaVaules[1],10,3   ) );       ui->myOpenGLWidget->passAlphaData( myAlphaVaules );      }
void MainWindow::on_mySlider_transpLocalCoord_valueChanged(int value)       {       myAlphaVaules[2] = qPow( (double)value/100, 3 );       ui->myLabel_transLocalCoord->setText(    QString::number(   myAlphaVaules[2],10,3   ) );       ui->myOpenGLWidget->passAlphaData( myAlphaVaules );      }


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void MainWindow::on_myButton_OpenGL_AutoPlay_START_clicked()   {   emit openGL_AutoPlay_SIGNAL( true  );   }
void MainWindow::on_myButton_OpenGL_AutoPlay_STOPP_clicked()   {   emit openGL_AutoPlay_SIGNAL( false );   }

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



void MainWindow::update_ONLYLabels_OfSlider_SEQ_LIMITS_AND_CURR_FR( int currFrame )
{

        ////////////////////////////////////////////////////////////////////
        if (currFrame == -888)      currFrame = ui->mySliderOpenGL->value();
        ////////////////////////////////////////////////////////////////////

        QString strCurr;
        QString strMaxx;
        int     newMax;

        newMax = myTracker->sequence.totalAllignedFrames - 1;

        strCurr = QString::number( currFrame ).rightJustified(3,'0',false);
        strMaxx = QString::number(  newMax   ).rightJustified(3,'0',false);

        ui->myLabel_openglSlider_currNmaxValues->setText(   strCurr + "/" + strMaxx   );

        ui->mySliderOpenGL->setMinimum(0);
        ui->mySliderOpenGL->setMaximum(newMax);

        ui->myTextEdit_myTracker_Frame_INI->setPlainText( strCurr );

}



/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



void MainWindow::on_myButton_TRACKER_Load_Pose_RESULT_clicked()
{

        QString inputPATH = ui->myTextEdit_TRACKER_Load_Pose_RESULT->toPlainText();


        if (inputPATH.contains(RadioSequenceID_String) == false)
        {
            ErrorManager::error( 2, inputPATH );
            return;
        }
        QDir currDir = inputPATH +"/"+ QString::number( myTracker->sequence.cameraSet.currentCameraID + 1 ) + "/rgb/";
        if ( currDir.exists() == false ) {
            ErrorManager::error( 1,  inputPATH);
            return;
        }


            INPUT_BasePath_VideoFrames = inputPATH;
        if (INPUT_BasePath_VideoFrames.endsWith("/"))
            INPUT_BasePath_VideoFrames    +=    "/";


        myTracker->sequence.videoSequence.basePathFramesForAllCameras = INPUT_BasePath_VideoFrames; // + "/" + RadioSequenceID_String + "/";

        myTracker->FEAT_Skinnnnn.fingerTips.basePath_Detections_ForAllCameras = INPUT_BasePath_VideoFrames; //+ QString::number( camID + 1 ) + "/detections/" + QString::number( frameNumber ).rightJustified

        refreshPathsALL_ForCurrentSequence();
        BackGroundButtons_EnableDisable( true );

        changeCamera( myTracker->sequence.cameraSet.currentCameraID );
}



/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



void MainWindow::on_myCheck_RenderObject_1_clicked()    {   readModelsRenderability();  }
void MainWindow::on_myCheck_RenderObject_2_clicked()    {   readModelsRenderability();  }
void MainWindow::on_myCheck_RenderObject_3_clicked()    {   readModelsRenderability();  }
void MainWindow::readModelsRenderability()
{
        if (myTracker->sequence.posedAnimations[0].modelSet.totalModels >= 1)   {   myTracker->sequence.posedAnimations[0].modelSet.models[0].isRenderable = ui->myCheck_RenderObject_1->isChecked() && ui->myCheck_RenderObject_1->isEnabled();   ui->myButtonColor_Mesh1->setEnabled( ui->myCheck_RenderObject_1->isChecked() && ui->myCheck_RenderObject_1->isEnabled() );   }
        if (myTracker->sequence.posedAnimations[0].modelSet.totalModels >= 2)   {   myTracker->sequence.posedAnimations[0].modelSet.models[1].isRenderable = ui->myCheck_RenderObject_2->isChecked() && ui->myCheck_RenderObject_2->isEnabled();   ui->myButtonColor_Mesh2->setEnabled( ui->myCheck_RenderObject_2->isChecked() && ui->myCheck_RenderObject_2->isEnabled() );   }
        if (myTracker->sequence.posedAnimations[0].modelSet.totalModels >= 3)   {   myTracker->sequence.posedAnimations[0].modelSet.models[2].isRenderable = ui->myCheck_RenderObject_3->isChecked() && ui->myCheck_RenderObject_3->isEnabled();   ui->myButtonColor_Mesh3->setEnabled( ui->myCheck_RenderObject_3->isChecked() && ui->myCheck_RenderObject_3->isEnabled() );   }

        myTracker->sequence.posedAnimations[0].modelSet.compute_Centroid4D_curr();


                                    ///////////////////////////////////////
        if (trackerCreatedOnce)     ui->myOpenGLWidget->cameraTranslate(0); // to update centerOfRotation vector !!!
                                    ///////////////////////////////////////
}



/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void MainWindow::on_myRadioButton_Tracker_Background_RGB_clicked()   {   changedTypesBackground();   }
void MainWindow::on_myRadioButton_Tracker_Background_RGBD_clicked()  {   changedTypesBackground();   }
void MainWindow::on_myRadioButton_Tracker_Background_DDD_clicked()   {   changedTypesBackground();   }
void MainWindow::on_myRadioButton_Tracker_Background_Blank_clicked() {   changedTypesBackground();   }
void MainWindow::changedTypesBackground()
{
    myTypesBackground.RGB   = ui->myRadioButton_Tracker_Background_RGB->  isChecked();
    myTypesBackground.RGBD  = ui->myRadioButton_Tracker_Background_RGBD-> isChecked();
    myTypesBackground.DDD   = ui->myRadioButton_Tracker_Background_DDD->  isChecked();
    myTypesBackground.Blank = ui->myRadioButton_Tracker_Background_Blank->isChecked();

                                ///////////////////////////////////////////////
    if (trackerCreatedOnce)     myTracker->typesBackground = myTypesBackground;
                                ///////////////////////////////////////////////

    if (myTypesBackground.Blank == false)  ui->myOpenGLWidget->Skip_Video_forOneCycle = true;

    if (myTypesBackground.Blank == false)  changed_myTracker_Frames_INI_FIN("else");

    if (ui->myCheckBox_PCL->isChecked())   myTracker->BackProject_Depth_2_PCL();
}


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void MainWindow::on_myButton_TRACKER_Load_Motion_File_clicked()
{
    emit openGL_AutoPlay_SIGNAL( false);
    on_myButton_OpenGL_AutoPlay_STOPP_clicked();
    QString path = ui->myTextEdit_TRACKER_Load_Pose_RESULT->toPlainText();
    QString folder = QFileDialog::getExistingDirectory( this, tr( "Choose the root directory for the sequence background frames" ), path);

    if ( folder != "" ) {
        ui->myTextEdit_TRACKER_Load_Pose_RESULT->setPlainText( folder );
        on_myButton_TRACKER_Load_Pose_RESULT_clicked();
    }

}


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void MainWindow::BackGroundButtons_EnableDisable(    bool  state )
{
    ui->myRadioButton_Tracker_Background_RGB-> setEnabled( state );
    ui->myRadioButton_Tracker_Background_RGBD->setEnabled( state );
    ui->myRadioButton_Tracker_Background_DDD-> setEnabled( state );

    ui->myCheckBox_PCL->setEnabled(                        state );
    ui->myCheck_FingertipDetections->setEnabled(           state );

}


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void MainWindow::sequence_selector(){
    seq_Sel.show();
    this->setEnabled(false);
    this->ui->selectSequence->setEnabled(false);
    this->ui->downloadSequenceBackgroundFrames->setEnabled(false);
}
void MainWindow::sequence_downloader(){
    seq_Down.show();
    this->setEnabled(false);
    this->ui->selectSequence->setEnabled(false);
    this->ui->downloadSequenceBackgroundFrames->setEnabled(false);
}
